
#ifndef _MD5UTIL_H_
#define _MD5UTIL_H_
#include <stdlib.h>
#include <string.h>
void md5(const char* dat, unsigned int ulstrlen, char* result);
typedef unsigned int MD5_u32;

typedef struct {
    MD5_u32 lo, hi;
    MD5_u32 a, b, c, d;
    unsigned char buffer[64];
    MD5_u32 block[16];
} MD5_CTX;

void MD5_Init(MD5_CTX *ctx);
void MD5_Final(unsigned char *result, MD5_CTX *ctx);
void MD5_Update(MD5_CTX *ctx, const void *data, size_t size);
#endif
